#ifndef MATRIX_INT_PARAM_H
#define MATRIX_INT_PARAM_H

#include "ArrayIntParam.h"

class MatrixIntParam: public Param {
protected:
	ArrayIntParam *values;
	int size;
	char label;

	ArrayIntParam &get( int i ) throw (InvalidIndex, NotReady);

public:
	MatrixIntParam();
	MatrixIntParam( int row, char rowLabel, const char *name );
	MatrixIntParam( int row, int col, char rowLabel, char colLabel, const char *name );
	MatrixIntParam( MatrixIntParam &src );
	~MatrixIntParam();

	void read( Input &input ) throw (NotReady);

	ArrayIntParam &operator [] ( int i ) throw (InvalidIndex, NotReady);

	void setSize( int size ) throw (NotReady);
	void setLabel( char label ) throw (NotReady);
	int getSize() throw (NotReady);
	char getLabel() throw (NotReady);
};

#endif